import { createStore } from 'vuex'
import axios from 'axios'
import user from'./user'

//创建store实例
const store = createStore({
    state() {//存储的单一状态,存储的基本数据
        return {
            count: 0,
            msg: 'helloworld',
            hotList: []
        }
    },
    //如果state中的属性需要过滤
    getters: {//认为是store中的计算属性
        reverseMsg: function (state) {
            return state.msg.split('').reverse().join('')
        },
        reverseMsgLength: function (state, getters) {//表示单签store中的getters对象

            return getters.reverseMsg.length

        }
    },
    mutations: {
        increment(state, value) {
            state.count += value
        },
        updateHotList: function (state, value) {
            state.hotList = value
        }

    },
    actions: {
        getHot: function (context) {//context 与store实例具有相同的属性和方法的对象
            // fetch('/path/api/mmdb/movie/v3/list/hot.json?ct=%E5%8C%85%E5%A4%B4&ci=140&channelId=4').then((res) => {
            //     console.log(res.json());

            //     console.log(context.state.hotList);


            // })
            axios.get('/path/api/mmdb/movie/v3/list/hot.json?ct=%E5%8C%85%E5%A4%B4&ci=140&channelId=4').then((res) => {
                // console.log(res);
                // console.log(context);
                context.commit('updateHotList', res.data.data.hot)
                //   context.state.hotList=res.data.data.hot   //不可以这么写 唯一方式:就是mutations中改变state
                // console.log(context.state.hotList);
                // console.log(payload);

            })

        }
    }
    ,
    modules: {
        a: user
    }
})
export default store;